﻿using Microsoft.VisualBasic;
using PowerVSharp.Standard.Interfaces;
using PowerVSharp.Standard.Interfaces.IO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace PowerVSharp.Standard
{
    ///<summary>PowerV环境上下文。</summary>
    [Guid("7152DFEF-B725-4A64-B7A4-54228FEE56E9")]
    [ClassInterface(ClassInterfaceType.AutoDispatch)]
    [ComVisible(true)]
    public class PowerVEnvironment : IPowerVEnvironment
    {
        private PowerVEnv _env = PowerVEnvDomain.GetInstance();

        public IMath Math => _env.Math;

        public IIO IO => _env.IO;

        public IString String => _env.String;

        public IArray Array => _env.Array;

        public void Dispose()
        {
            _env = null;
        }
    }
}
